package AccesoADatos;

import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import Logica.Entidades.Jugador;

public class EquipoDePrimeraDAO {

	public List<List<String>> obtenerEquipos(){
		
		List<List<String>> equiposDTO = new ArrayList<List<String>>();
		try {
			Connection conn = ConexionOracle.getConexionOracle().getConnection();
			String consulta = "select * from equipoprimera";
			
			Statement stmt = conn.createStatement();
            ResultSet rset = stmt.executeQuery(consulta);
			
			equiposDTO = resultSetToString(rset,3);
			
			stmt.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return equiposDTO;
	}
	
	public List<List<String>> buscarEquipoPrimera(Jugador j){
			
			List<List<String>> equipoDTO = new ArrayList<List<String>>();
			try {
				Connection conn = ConexionOracle.getConexionOracle().getConnection();
				String consulta = "select ep.id_equipo, ep.nombre from equipoprimera ep, jugador j where j.id_equipo_primera = ep.id_equipo and j.id_jugador = " + j.getId();
				
				Statement stmt = conn.createStatement();
	            ResultSet rset = stmt.executeQuery(consulta);
				
				equipoDTO = resultSetToString(rset,3);
				
				stmt.close();
			} catch (SQLException e) {
				e.printStackTrace();
			}
			return equipoDTO;		
	}
	
	public List<List<String>> resultSetToString(ResultSet r, int columnas) throws SQLException{
		
		List<List<String>> lista = new ArrayList<List<String>>();
		
		while(r.next()){
			
			List<String> temp = new ArrayList<String>();
			
			for(int i = 1 ; i < columnas ; i++){
				temp.add(r.getString(i));
			}
			lista.add(temp);
		}
		return lista;
	}

	public List<List<String>> buscarEquipoPrimera(int idEquipoPrimera) {
		
		List<List<String>> equipoDTO = new ArrayList<List<String>>();
		try {
			Connection conn = ConexionOracle.getConexionOracle().getConnection();
			String consulta = "SELECT * FROM EQUIPOPRIMERA WHERE ID_EQUIPO = " + idEquipoPrimera;
			
			Statement stmt = conn.createStatement();
            ResultSet rset = stmt.executeQuery(consulta);
			
			equipoDTO = resultSetToString(rset,3);
			
			stmt.close();
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return equipoDTO;
	}
}
